




// Função valida campos obrigatórios
function validaCampoObrigatorio(form) {
  var elementos = form.elements;
  var camposObrigatorios = "";
  for (var i=0; i< elementos.length; i++){
   if (elementos[i].getAttribute("type")=="text") {
    if (elementos[i].getAttribute("obrigatorio")=="sim") {
     if (elementos[i].value=="") {
         destacaObrigatorio(elementos[i]);
         camposObrigatorios = camposObrigatorios + "\n O campo \""+(elementos[i].getAttribute("title")!=null?elementos[i].getAttribute("title"):elementos[i].getAttribute("name"))+ "\" é obrigatório."           
     }
    }
   }
  }
  if(camposObrigatorios != ""){
         alert(camposObrigatorios);
               return false;
  } 
  return true;
 }

//Função destaca campos obrigatórios
function destacaObrigatorio(campo) {
 classesarray = campo.className.split(" ");
 classes = "";
 for(i = 0; i < classesarray.length; i++)
  if (classesarray[i] != "obrigatorio")
   classes = classes + " " + classesarray[i];
 if (campo.value == "") classes = classes + " obrigatorio";
 campo.className = classes;
 return true;
}

// Função valida CPF
function validaCPF(campo){
 StrCPF = campo.value
 StrCPF = StrCPF.replace(".","")
 StrCPF = StrCPF.replace(".","")
 StrCPF = StrCPF.replace("-","")
 if (StrCPF.length > 0) {
  x = 0;
  soma = 0;
  dig1 = 0;
  dig2 = 0;
  texto = "";
  StrCPF1="";
  len = StrCPF.length;
  x = len -1;
  for (var i=0; i <= len - 3; i++)  {
   y = StrCPF.substring(i,i+1);
   soma = soma + ( y * x);
   x = x - 1;
   texto = texto + y;
  }
  dig1 = 11 - (soma % 11);
  if (dig1 == 10) dig1=0 ;
  if (dig1 == 11) dig1=0 ;
  StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
  x = 11; soma=0;
  for (var i=0; i <= len - 2; i++)  {
   soma = soma + (StrCPF1.substring(i,i+1) * x);
   x = x - 1;
  }
  dig2= 11 - (soma % 11);
  if (dig2 == 10) dig2=0;
  if (dig2 == 11) dig2=0;
  if (((dig1 + "" + dig2) == StrCPF.substring(len,len-2)) &&  
			(StrCPF != "00000000000" ) && 
			(StrCPF != "11111111111" ) &&
			(StrCPF != "22222222222" ) &&
			(StrCPF != "33333333333" ) &&
			(StrCPF != "44444444444" ) &&
			(StrCPF != "55555555555" ) &&
			(StrCPF != "66666666666" ) &&
			(StrCPF != "77777777777" ) &&
			(StrCPF != "88888888888" ) &&
			(StrCPF != "99999999999" ) 
			){
			
			
        alert(StrCPF);
	return true;
        
  }
  alert ("Número do CPF inválido.");		
  campo.value = ""
  campo.focus();
  return false;
 }
 return true;
}

// Função valida CNPJ
function validaCNPJ(campo){
 StrCNPJ = campo.value
 StrCNPJ = StrCNPJ.replace(".","")
 StrCNPJ = StrCNPJ.replace(".","")
 StrCNPJ = StrCNPJ.replace("/","")
 StrCNPJ = StrCNPJ.replace("-","")
 if(StrCNPJ != ""){
  var varFirstChr = StrCNPJ.charAt(0);
  var vlMult,vlControle,s1, s2 = "";
  var i,j,vlDgito,vlSoma = 0;
  for ( var i=0; i<=13; i++ ) {
   var c = StrCNPJ.charAt(i);
   if( ! (c>="0")&&(c<="9") ){			
    alert("Número do CNPJ inválido.");
    campo.value = "";
    campo.focus();
    return false; 
   }
   if( c!=varFirstChr){ 
    vaCharCNPJ = true; 
   }
  }
  if( ! vaCharCNPJ ) {
   alert("Número do CNPJ inválido.");
   campo.value = "";
   campo.focus();
   return false ;
  }
  s1 = StrCNPJ.substring(0,12);
  s2 = StrCNPJ.substring(12,15);
  vlMult = "543298765432";
  vlControle = "";
  for ( j=1; j<3; j++ ) {
   vlSoma = 0;
   for ( i=0; i<12; i++ ){ 
    vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );
   }
   if( j == 2 ){ 
    vlSoma += (2 * vlDgito); 
   }
   vlDgito = ((vlSoma*10) % 11);
   if( vlDgito == 10 ){ vlDgito = 0; }
   vlControle = vlControle + vlDgito;
   vlMult = "654329876543";
  }
  if( vlControle != s2 ) {
   alert("Número do CNPJ inválido.");
   campo.value = "";
   campo.focus();
   return false;
  } else {
   return true;
  }
 }
 return true;
}

// Função valida e-mail
function validaEmail(campo){
 email = campo.value
 if(email != ""){
  if( email.indexOf('@') < 1 || email.indexOf('.') < 2 ){
   alert("Email inválido.");
   campo.value = "";
   campo.focus();
   return false;
  } else {
   return true;	
  }
 }
 return true;
}

// Função valida data
 function validaData(campo,valor) {
	var date=valor;
	var ardt=new Array;
	var ExpReg=new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
	ardt=date.split("/");
	erro=false;
	if ( date.search(ExpReg)==-1){
		erro = true;
		}
	else if (((ardt[1]==4)||(ardt[1]==6)||(ardt[1]==9)||(ardt[1]==11))&&(ardt[0]>30))
		erro = true;
	else if ( ardt[1]==2) {
		if ((ardt[0]>28)&&((ardt[2]%4)!=0))
			erro = true;
		if ((ardt[0]>29)&&((ardt[2]%4)==0))
			erro = true;
	}
	if (erro) {
		alert("\"" + valor + "\" não é uma data válida!!!");
		campo.focus();
		campo.value = "";
		return false;
	}
	return true;
}

// Função valida Hora
function verificaHora(campo){ 
              hrs = (campo.value.substring(0,2)); 
              min = (campo.value.substring(3,5)); 
              seg = (campo.value.substring(6,8));
              
              situacao = ""; 
              
              if ((hrs < 00 ) || (hrs > 23) || ( min < 00) ||( min > 59) || ( seg < 00) ||( seg > 59)){ 
                  situacao = "falsa"; 
              } 

              if (situacao == "falsa") { 
                  alert("Hora inválida!"); 
		  campo.value = "";
		  campo.focus();
		  return false;
  
              } 
	      return true;
}

// Função valida duas datas
function ComparaDatas(data1, data2){
        data2_apag = data2;
	
	var nova_data1 = parseInt(data1.split("/")[2].toString() + data1.split("/")[1].toString() + data1.split("/")[0].toString());
	var nova_data2 = parseInt(data2.split("/")[2].toString() + data2.split("/")[1].toString() + data2.split("/")[0].toString());

	if (nova_data2 < nova_data1){
		alert("Data Fim inválida.");
		data1.valeu="";
		data2_apag.value = "";
		data2_apag.focus();
		return false;
	}
        return true;
}
